クライアント(妻)が本当に欲しかったものを提供した話
上の写真は僕が作ったIoT水やり装置です。土壌水分量をセンサーで測って、乾いてきたら水をあげてくれます。
↓のM5Stack Watering UnitとM5Stackを買えば割と簡単に作れます!
コードは全部ここにあるので興味がある方は見てみてください。
今日はその話ではなく、、、
「それ」、うちにも欲しいです
妻に作成したものを見せたところ、「自動で水やり!それいいね!庭にも同じの作ってよ!」と。
首都圏郊外にある我が家には日当たりの良い庭があり、妻は季節ごとに花や野菜を植えて、我が家の外観とそして食卓に彩りを添えてくれます。
しかし日当たりが良すぎるあまり、夏場の水やりはまぁまぁ過酷な労働です。
加えて、夏には恐るべき吸血生物が無数に飛び回っています。
水やりが自動化されたら嬉しい。たしかにそうだ。
でもなぁ。。。
非機能要件が全く異なる
実現したい機能は同じ「自動で水やりしたい」だけど、非機能要件で見ると「室内鉢植え向けIoT水やり装置」と「屋外地植え向けIoT水やり装置」とではわけが違います。
電源の確保
我が家の場合、20mほどの屋外用電源コードを買えば電源は確保できそうだったのですが、配置的に電源コードが玄関の前を通ってしまう。。。
玄関の上を這わせるように工夫する必要がありそうです。
IoT機器の耐水、耐候、耐塵
ラズパイまたはマイコンなどのデバイスが風雨や日光に耐えられる必要があります。
屋外用のコンテナを買ってその中に入れればいけるか。。。
センサー、ケーブルの耐水、耐候、耐塵
センサーのI2Cのコネクタ部やケーブルも風雨や日光に耐えられる必要があります。
根っからのソフトウェアエンジニアの自分には何をどうしたらこれらの耐水、耐候、耐塵性を確保できるのかさっぱり。。。
加えて鉢植えよりも土壌pHが酸性よりであるはずなので、同じセンサーが使えるのかも分かりません。
うーーん。動くものができたとて、耐用年数はどれほどになるのか。。。
そもそも、完成するまで僕のモチベが保つのか。。。
そもそも機能要求もホントに合ってるっけ?
室内鉢植えの観葉植物と屋外地植えの草花野菜では水やりの要件が大きく異なります。
- 鉢植えの観葉植物:
- 水をあげすぎると根腐れするので、土が乾いてしばらくしてから水やりをしたい
- 夏と冬では水やり頻度が異なる
- 地植えの草花野菜:
- 朝夕にたっぷりと水やりしたい。
- 冬には水やりは不要
同じ「自動で水やり」でも、「僕が作ったものの大規模化すること」は全く必要ないことがわかります。
もともとIoT水やり装置は「AWS IoT Eventsで何かしたい」「子供がScratchやってるから僕もやってみたい」というように、作ること自体を目的として始めたものなので、クライアントからの要望に当てはめること自体が間違っていたのでした。
IoTは不要。必要なのはシンプルな「タイマー式潅水システム」でした。
それ、あるよ
我が家と同じように「自動で庭の水やりをしたい」と思う方は、次のサイトを見てください。 蛇口の分岐、ホースの分岐、ミニスプリンクラー、タイマー。家庭向け潅水システムに必要なすべてがここにあります。ワンピースかよ。
これらを買って繋ぎ合わせて完成です。
段階的に作ったので最寄りのホームセンターと家とを3往復ほどしましたが、1日で完成しました。
トータル2万円弱かかりましたが、朝夕2回、15分ほどの水やりが自動化されたとして、毎日30分の節約です。
暑さと蚊の猛攻から逃れられ、しかもタカギの点滴灌水には節水効果もあります。
コスパよし!
まとめ
要求を整理すると、誰もが欲しいもの、すでに製品化されているものにたどり着くのはよくあることですよね。 自前で作ったら時間がかかるものも、餅を餅屋にお願いするだけで短期間で高品質なものがつくれることはママあります。
自分はアプリケーションエンジニアなのですぐにスクラッチで作りたくなってしまいますが、目的から考えて、より良いものづくりができると良いなと改めて思いました!
以上、やまたつでしたー